package co.edu.eam.taller.mecanico.controladores;

import java.util.ArrayList;
import java.util.List;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.model.SelectItem;

import co.edu.eam.taller.mecanico.ejbs.TallerBean;
import co.edu.eam.taller.mecanico.entidades.Cliente;

@ViewScoped
@ManagedBean(name="ParametrosCliente")
public class Controlador_Parametros_Cliente {

	/**
	 * EJB Taller
	 */
	@EJB
	private TallerBean tallerBean;
	/* Variable que guarda la cedula del cliente */
	private String cedula;
	/* variable en la que se almacenara el id del cliente buscado */
	private long idCliente;
	/* variable en la cual se almacena el nombre del cliente a registrar */
	private String nombreCliente;
	/* variable en la que se almacenara el id del auto a crear */
	private long idAuto;
	/* Atributo el cual representa la placa de la entidad automovil */
	private String placa;
	/* Atributo el cual representa el modelo de la entidad automovil */
	private String modelo;
	/* Atributo el cual representa la marca de la entidad automovil */
	private String marca;
	/*Atributo el cual representa la llave primaria de la entidad repuesto*/
	private long codigoRepuesto;
	/* Atributo el cual representa el nombre de la entidad repuesto*/
	private String nombreRepuesto;
	/* Atributo el cual representa el precio de la entidad repuesto*/
	private double precioRepuesto;
	private List<Cliente>clientes;
	/**
	 * Constructor.
	 */
	public Controlador_Parametros_Cliente() {
		// TODO Auto-generated constructor stub
		clientes=new ArrayList<Cliente>();
	}
	/* Metodos para listar*/
	public void llenarClieintes(){
		clientes=tallerBean.listarClientes();
	}
	/**
	 * Este metodo retorna la lista de todos los repuestos disponibles.
	 * 
	 * @return List<SelectItem> Lista con todos los repuestos disponibles.
	 */
	public List<SelectItem> listarClientes() {
		llenarClieintes();
		List<SelectItem> items = new ArrayList<SelectItem>();
		
		items.add(new SelectItem(0, "Seleccionar cliente"));
		if(idCliente==0){
			return items;
		}else{
			
			
		for (Cliente cliente: clientes) {
			items.add(new SelectItem(cliente.getId(), cliente.getNombre()));
		}
		return items;
		}
	}
	/* Metodos para crear*/
	public void crearCliente(){
		tallerBean.crearCliente(nombreCliente, cedula);
	}
	
	public void crearRepuesto(){
		tallerBean.crearRepuesto(codigoRepuesto, nombreRepuesto, precioRepuesto);
	}
	public String getCedula() {
		return cedula;
	}
	public void setCedula(String cedula) {
		this.cedula = cedula;
	}
	public long getIdCliente() {
		return idCliente;
	}
	public void setIdCliente(long idCliente) {
		this.idCliente = idCliente;
	}
	public String getNombreCliente() {
		return nombreCliente;
	}
	public void setNombreCliente(String nombreCliente) {
		this.nombreCliente = nombreCliente;
	}
	public long getIdAuto() {
		return idAuto;
	}
	public void setIdAuto(long idAuto) {
		this.idAuto = idAuto;
	}
	public String getPlaca() {
		return placa;
	}
	public void setPlaca(String placa) {
		this.placa = placa;
	}
	public String getModelo() {
		return modelo;
	}
	public void setModelo(String modelo) {
		this.modelo = modelo;
	}
	public String getMarca() {
		return marca;
	}
	public void setMarca(String marca) {
		this.marca = marca;
	}
	public long getCodigoRepuesto() {
		return codigoRepuesto;
	}
	public void setCodigoRepuesto(long codigoRepuesto) {
		this.codigoRepuesto = codigoRepuesto;
	}	
	public String getNombreRepuesto() {
		return nombreRepuesto;
	}
	public void setNombreRepuesto(String nombreRepuesto) {
		this.nombreRepuesto = nombreRepuesto;
	}
	public double getPrecioRepuesto() {
		return precioRepuesto;
	}
	public void setPrecioRepuesto(double precioRepuesto) {
		this.precioRepuesto = precioRepuesto;
	}

	
}
